#include "SqTree.h"

void InitSqTree(SqTree t[])
{
    for (int i = 1; i < MaxSize; i++)
        t[i].isEmpty = true;
}

int getLeftChild(SqTree t[], int i)
{
    if (2 * i + 1 >= MaxSize || t[2 * i].isEmpty == true)
        return -1;
    return 2 * i;
}

int getRightChild(SqTree t[], int i) {
    if (2 * i + 1 >= MaxSize || t[2 * i + 1].isEmpty == true)
        return -1;
    return 2 * i + 1;
}

int getParent(SqTree t[], int i)
{
    if (i >= MaxSize || t[i].isEmpty == true)
        return -1;
    return i / 2;
}

int getLevel(SqTree t[], int i)
{
    if (i >= MaxSize || i < 1|| t[i].isEmpty == true)
        return -1;
    if (i == 1)
        return i;
    while (i > 1) {
        i /= 2;
    }
    return i;
}
